package com.achievement.service;


import com.achievement.domain.dto.MagazineSourceDTO;
import com.achievement.domain.entity.MagazineSourceEntity;
import com.achievement.domain.param.MagazineSourceParam;
import com.achievement.domain.vo.MagazineSourceVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author CNKI
* @description 针对表【dm_magazine_source(科研成果-论文期刊源列表)】的数据库操作Service
* @createDate 2025-02-28 14:53:32
*/
public interface IMagazineSourceService extends IService<MagazineSourceEntity> {

    /**
     * 新增论文期刊源
     */
    String add(MagazineSourceDTO dto);

    /**
     * 删除论文期刊源
     */
    boolean batchRemove(List<String> ids);

    /**
     * 修改论文期刊源
     */
    boolean update(MagazineSourceDTO dto);

    /**
     * 列表检索
     */
    List<MagazineSourceVO> selectByPage(MagazineSourceParam param);

    /**
     * 论文期刊源导出
     */
    List<MagazineSourceEntity> getListByConditions(MagazineSourceDTO dto);

    /**
     * 获取论文期刊源详细信息
     */
    MagazineSourceVO getInfoById(String id);

    /**
     * 刊物级别，绑定期刊源
     */
    boolean bindPaperLevel(List<String> list, String paperLevelID);

    /**
     * 刊物级别，删除绑定期刊源
     */
    boolean deleteByPaperLevel(List<String> ids);

    /**
     * 根据年份查询id
     */
    List<String> selectIdsByYear(String year);
}
